package com.andy.note.main.ExecutorsDemo;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

/**
 * 创建一个定长线程池，支持定时及周期性任务执行。延迟执行示例代码如下：
 * ScheduledExecutorService比Timer更安全，功能更强大，后面会有一篇单独进行对比。
 * 
 * @author Andy
 * @version $Revision: 1.1 $ $Date: 2020年7月2日 下午4:43:36 $
 */
public class NewScheduled {
    public static void main(String[] args) {
        ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);
        scheduledThreadPool.schedule(new Runnable() {
            //表示延迟3秒执行。
            @Override
            public void run() {
                System.out.println("delay 3 seconds");
            }
        }, 3, TimeUnit.SECONDS);
        
        //表示延迟1秒后每3秒执行一次。
//        @Override
//        public void run() {
//        System.out.println("delay 1 seconds, and excute every 3 seconds");
//        }
//        }, 1, 3, TimeUnit.SECONDS);
    }
}
